1. Smart Cards
Smart cards have been used for a long time, in particular in order to identify or authenticate a product, an account and/or a person. The chip, or microprocessor, thus has a specific transistor structure defining a processing logic, and memory areas, a least a portion of which is secure and which contains secret data.
2. Detection of Cloned Cards
A smart card, which is used, for example, as a means of payment, thus comprises an electronic circuit called a chip, in which the logical behavior of the card is programmed, i.e., responses to the various prompts that it may receive. An electronic circuit such as this can in particular comprise standard electronic components (transistors, operational amplifiers), complex components (microprocessors, storage devices) and digital components (logic gates) combined together via a component creation software package, in order to carry out the operations for which the card is designed.
Methods exist for detecting non-compliant smart cards, which are based on auditing the logical behavior of the card being tested.
These methods make it possible to verify whether the programmed behavior of the card is correct. However they do not enable detection of a cloned card.
In fact, if it has been effectively programmed, a cloned smart card has the same logical behavior as a “legitimate” smart card (i.e., marketed by authorized smart card manufacturers). It differs therefore by its design, but not by its behavior, since it does not comprise the same electronic circuit.
It is actually very difficult for a counterfeiter to obtain legitimate electronic circuits, the distribution thereof being reserved for card manufacturers. However, a counterfeiter who has extracted information from a legitimate card enabling him to reproduce the logical behavior thereof can program an electronic circuit purchased off-the-shelf in order to produce a cloned card.
A cloned card such as this is difficult to distinguish from a legitimate card, the logical behaviors thereof being identical. They differ solely by the “jungle” of transistors, which comprise them. However, these “jungles” are not easy to analyse, on the one hand because they are uninterpretable (it is a question of the result of electronic data processing the aspect of which is random), and, on the other hand, because comparison would require destruction of the cards and the use of costly means such as electron microscopes.
Thus, it is currently possible to control the logical behavior of a smart card, but, to date, no effective detection method exists which is capable of detecting cloned smart cards, which have the same logical behavior but different components.
3. Detection of a Malicious Program
Smart cards also exist the program of which is counterfeited so as to cause the card to behave in a particular way in response to a predefined prompt from a fraudster (e.g., to conduct an unauthorized transaction or to access protected data, subsequently enabling cloned cards to be produced).
Such programs, referred to as corrupted or malicious programs, can prove to be undetectable by a conventional method for detecting the logical behavior of a card.
In fact, the malicious behavior of such programs is often triggered by a particular prompt (e.g., a long and meaningless binary sequence with regard to the “normal” program) which cannot be detected under the time and resource related conditions available to existing detection methods, but which can result in a specific behavior that has been preprogrammed by the fraudster.
For example, methods exist for detecting malicious programs, which are based on reverse engineering, i.e., on the restoration and verification of the program contained in a card being tested.
However, some of these malicious programs have the ability to “counteract” these reverse engineering-based detection methods, and to thereby appear to be legitimate programs.
Another technique for combating these malicious or corrupted programs may consist in deleting the program contained in a card and in replacing it with a legitimate program.
There again, however, some malicious programs have the ability to behave as if they were actually entirely overwritten by a new program while, in reality, they are still present on the card and ready to be activated.
To date, therefore, no effective method exists for detecting a malicious program on a smart card.